package com.dong.exp_ioc.controller;

import com.dong.exp_ioc.bean.Student;
import com.dong.exp_ioc.bean.Student2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

/**
 * @className: MainController
 * @description: TODO 类描述
 * @author: Dong
 * @date: 2022/10/11
 **/
@Controller
public class MainController {
    @Resource
    private Student2 a;
    //   1、@Autowired 按类型自动装配
    //    2、@Qualifier 按名称进行装配,与@Autowired搭配使用
    //    3、@Resource 可以先按名称再按类型自动进行装配，如果指定了名称，只能按名称进行装配，是J2EE规范，@Autowired和@Qualifier 是spring规范。
//找到@Resource注解以后，判断该注解name的属性是否为""(name没有写)
//              如果没有写name属性，则会让属性的名称的值和spring中ID的值做匹配，如果匹配成功则赋值
//                                        如果匹配不成功，则会按照类型进行匹配，如果匹配不成功，则报错
//              如果有name属性，则会按照name属性的值和spring的bean中ID进行匹配，匹配成功，则赋值，不成功则报错
    @ResponseBody
    @RequestMapping("/t")
    public String t(){
        System.out.println(a);
        return a.toString();
    }
}
